import {PlaneEarth, SphereEarth, SphereSky} from "@/utils/projection/projectionExt";

export class StaticSphereEarth extends SphereEarth {

    _initOptions() { // 硬限制
        super._initOptions();
        this.options.rotation = false;
    }

}

export class DynamicSphereEarth extends SphereEarth {

    _initOptions() { // 硬限制
        super._initOptions();
        this.options.rotation = true;
        // console.log("DynamicSphere", this.options)
    }

    _setDefaultOpt() { // 软限制
        super._setDefaultOpt();
        this.defaultOpt.rotationRatio = 360 / (24 * 60 * 60);
    }

}

export class StaticPlaneEarth extends PlaneEarth {

    _initOptions() {
        super._initOptions();
        this.options.rotation = false;
    }

}

export class DynamicPlaneEarth extends PlaneEarth {

    _initOptions() {
        super._initOptions();
        this.options.rotation = true;
    }

    _setDefaultOpt() {
        super._setDefaultOpt();
        this.defaultOpt.rotationRatio = 360 / (24 * 60 * 60);
    }

}

export class StaticSphereSky extends SphereSky {

    _initOptions() {
        super._initOptions();
        this.options.rotation = false;
    }

}

export class DynamicSphereSky extends SphereSky {

    _initOptions() {
        super._initOptions();
        this.options.rotation = true;
    }

    _setDefaultOpt() {
        super._setDefaultOpt();
        this.defaultOpt.rotationRatio = 360 / (24 * 60 * 60);
    }

}

export class StaticPlaneSky extends SphereSky {

    _initOptions() {
        super._initOptions();
        this.options.rotation = false;
    }

}

export class DynamicPlaneSky extends SphereSky {

    _initOptions() {
        super._initOptions();
        this.options.rotation = true;
    }

    _setDefaultOpt() {
        super._setDefaultOpt();
        this.defaultOpt.rotationRatio = 360 / (24 * 60 * 60);
    }

}